The present invention relates to cloud storage, and more particularly, this invention relates to managing point in time copies of data in cloud storage systems and networks.
In the case of backup/restore and copy data management, a storage controller (e.g., a Storwize V7000, etc.) may generate an initial full backup followed by several incremental backups. The backups may be controlled via a policy, such that, for example, an incremental backup is taken every 4 hours. The initial full backup and the incremental backups may be pushed to object storage in the cloud. Over time, the amount of backup points in time stored in the cloud may grow tremendously. After a certain point (e.g., a week, etc.) it is of limited value to keep multiple point in time copies of data at 4 hour intervals. For example, it is likely unnecessary to keep 4 hour incremental backups that are more than a week old.
Additionally, the most probable scenario during a disaster recovery is to recover from the point in time nearest to production. In order to recover from a disaster, it may necessary to restore a full volume backup from the cloud, and then repeatedly apply restore points from incremental backups in the cloud until you get to the desired point in time. If a significant amount of time has passed since the initial full backup was created, then it may be time-consuming and bandwidth-intensive to download the incremental backups, and then perform many incremental restore operations after performing the full restore.
Still yet, a user may wish to delete point in time snapshots from the cloud. In order to maintain the ability to restore any point in time from the cloud, a flashcopy bitmap cascade must be preserved. Deleting flashcopy bitmaps from the middle of a bitmap chain may break the chain.
However, cloud storage provides little control over manipulating point in time snapshot copies of data generated by storage subsystems, thereby increasing the cost of, and slowing the process of, backup/recovery operations.